Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add example whatsnew file #2418

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

AdamRJensen
Copy link
Member

Part of pvlib's release procedures is to add a new empty Whatsnew file after the release of a new version.

I believe the current practice is to take the previous whatsnew file and delete the content. This is tedious. More of a problem is that not all releases include all types of contributions and thus the added whatsnew file is often missing sections. While, these sections typically get added, they tend to get added in a random order (maybe not a big deal).

In any case, to make the release procedure smoother I suggest having a Whatsnew template that we use as the bases for the new Whatsnew file that is added after a release. The example Whatsnew file has all possible sections (at least the ones we've used historically). Please comment if you think more should be added, if some are obsolete, or if you think that they should be ordered differently.

Copy link
Contributor

@echedey-ls echedey-ls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, this is a nice improvement IMO.

I think we could merge Testing and Benchmarking into Maintenance, (maybe rename to Development or a broader concept), since they don't really impact users (benchmarking means changes to asv benchmarks, right? I assume it's not about speed improvements in algorithms, that should probably go into Enhancements).

And on the other hand, Requirements section is similar to Breaking Changes. For example, bumping python or numpy versions.

@@ -0,0 +1,45 @@
.. _whatsnew_0XXYY:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.. _whatsnew_0XXYY:
.. _whatsnew_0_X_Y:

This is just personal taste, IK it's not the legacy form, but easier to read.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also prefer underscores. But what is the purpose of this tag and where does it show up (it at all)?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the hyperlink target, you would use it in rST like :ref:`whatsnew_0_X_Y`

@AdamRJensen
Copy link
Member Author

I think we could merge Testing and Benchmarking into Maintenance, (maybe rename to Development or a broader concept), since they don't really impact users (benchmarking means changes to asv benchmarks, right? I assume it's not about speed improvements in algorithms, that should probably go into Enhancements).

Benchmarking indeed does refer to ASV. I would be fine with merging benchmarking and testing and naming it "Development".

And on the other hand, Requirements section is similar to Breaking Changes. For example, bumping python or numpy versions.
I think it's nice to keep a separate Requirements section as in my view a breaking change is our code that is changing, whereas changes in requirements are very different and most often not a big deal to most people.

Still open to other ideas!

@cwhanse
Copy link
Member

cwhanse commented Mar 24, 2025

I disagree with lumping Testing and Benchmarking into Development. Testing is a useful category of change on its own. Development is a broad term that I think of as adding content.

@RDaxini
Copy link
Contributor

RDaxini commented Apr 5, 2025

Could we revisit this idea? Adding .. module:: pvlib or currentmodule.
Would be worth double checking how it works and testing it on an example. This PR might be the right place to do that.

@AdamRJensen
Copy link
Member Author

Could we revisit this idea? Adding .. module:: pvlib or currentmodule. Would be worth double checking how it works and testing it on an example. This PR might be the right place to do that.

@RDaxini Could you add a link to where I can read more about what this would do?

@RDaxini
Copy link
Contributor

RDaxini commented Apr 7, 2025

Could we revisit this idea? Adding .. module:: pvlib or currentmodule. Would be worth double checking how it works and testing it on an example. This PR might be the right place to do that.

@RDaxini Could you add a link to where I can read more about what this would do?

Hmm... I did not find a full docs page (did I miss something?) but there's a short explanation in the 0.2 release and I see it used in several pvlib files, e.g. sdm.rst. Also in the first (vs second) example on this page I think it's used to the same effect. I thought its purpose was to enable the omission of pvlib. as the prefix from function names. Maybe we could test it here in this PR?

@echedey-ls
Copy link
Contributor

@AdamRJensen @RDaxini this is the currentmodule reference: https://www.sphinx-doc.org/en/master/usage/domains/python.html#directive-py-currentmodule

In any case, I'm slightly opposed to using it, cause I find it clearer to state whether the references are about something inside pvlib or outside (remember there is intersphinx enabled for packages like numpy, scipy or pandas)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants